1. Field of the Invention
The present invention relates to a non-volatile memory and its controlling method, and more particularly, to a flash memory and a method of controlling erasing of static memory area of the flash memory.
2. Description of the Related Technology
The non-volatile memory has been widely utilized for computing devices and portable electronic equipments. The advantage of the non-volatile memory is that the data stored in the memory is not erased when the power supply to the memory is terminated, and the data can be read again as long as the power supply to the memory resumes. Flash memory, which is one type of the non-volatile memory, has been gradually used as memory units in the computing devices and the portable electronic equipments to replace traditional hard disks, because of its numerous advantages, i.e., low electric power consumption, high speed, no vibration, and portability.
A conventional flash memory device is arranged in a plurality of memory blocks. Each of the memory blocks includes a plurality of memory cells typically arranged in a matrix form. Each of the memory blocks includes bit lines and word lines. The bit lines extend parallel to one another in a column direction. The word lines extend parallel to one another in a row direction perpendicular to the column direction. Each bit line includes a string of memory cells.
Each of the memory cells includes a floating gate transistor. The floating gate transistors of a bit line are coupled to one another in series from source to drain. The control gates of the floating gate transistors of memory cells of a common row are coupled to the same word line. Each of the memory cells stores a charge (or a lack of charge). The amount of stored charge can be used to represent, for example, one or more states, which can represent one or more digits (for example, bits) of data. The charge stored in the floating gate transistor sets the threshold voltage of the floating gate transistor.
In a conventional method of writing data on a memory block, during a write operation, data is typically written on a set of memory cells coupled to a single word line. Such a set of memory cells can be referred to as a “page.” In one arrangement, a page may include all memory cells sharing a word line. In other arrangements, a page may be formed by every two memory cells coupled to a single word line. In certain arrangements, a page may be formed by every four memory cells coupled to a single word line. It will be understood that a page may be formed by any suitable selected number of memory cells coupled to a word line. The pages can be used as memory units for reading, writing and erasing data.
During a process of renewing data in a flash memory, memory blocks for storing old data will erase data saved in corresponding memory cells, i.e., the memory cells will take high voltage so as to release electrons. However, the erasing action with high voltage to the memory cell may damage the operating characteristics of the memory cell and rapidly wear the memory cell. As a result, after a certain number of cycles of erasing or rewriting, the memory cells may not correctly save electrons which correspond to data to be stored therein, and consequently error data may be generated when reading or writing new data into the memory blocks of the flash memory.
Normally, data stored in a flash memory is divided into two types: dynamic data and static data. The dynamic data may include data adapted to be rewritten frequently, for instance, a file allocation table. The static data may include data adapted to be rewritten very few times or never rewritten, for instance, a procedure code of the operating system. Therefore, the memory blocks for storing the dynamic data will be used more frequently than the memory blocks for storing the static data and will wear faster than the memory blocks for storing the static data, and consequently will reach its lifetime earlier than the memory blocks for storing the static data. The lifetime of the memory cell can be estimated based on its erasing cycles, normally about 10,000 to about 100,000 times. If the memory blocks in the flash memory cannot be read or rewritten at a relatively average level, some of the memory blocks will reach its lifetime because of more frequent wearing actions. When more and more memory blocks in the flash memory reach their lifetime, the flash memory will be no longer operational. However, other memory blocks may be still operational before reaching their lifetime because of fewer wearing actions, which is not desirable to the overall lifetime of the flash memory.